package com.example;

import com.example.util.FunctionUtil;

public class Test {

    public static void main(String[] args) {
        //此样例为，处理抛出异常的if。
        //调用工具类参数参数后，调用函数式接口的throwMessage方法传入异常信息。
        //当出入的参数为false时正常执行
        //当出入的参数为true时抛出异常
        FunctionUtil.isTure(false).throwMessage("这是个异常");


        //处理if分支操作
        //参数为true时，执行trueHandle
        //参数为false时，执行falseHandle
        FunctionUtil.isTureOrFalse(true).trueOrFalseHandle(() -> {
            System.out.println("此处为true时执行");
        }, () -> {
            System.out.println("此处为false时执行");
        });

        //如果存在值执行消费操作，否则执行基于空的操作
        //调用工具类参数参数后，调用函数式接口的presentOrElseHandle方法传入一个Consumer和Runnable
        //参数不为空时，打印参数
        FunctionUtil.isBlankOrNoBlank("这不是空串").presentOrElseHandle(System.out::println, () -> {
            System.out.println("这是个空串");
        });
        //参数为空时
        FunctionUtil.isBlankOrNoBlank("").presentOrElseHandle(System.out::println, () -> {
            System.out.println("这是个空串");
        });
    }
}
